package com.cx.bank.model;

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Properties;
/**
 * 模型层
 * 对数据的封装
 * @param money 金钱
 * */
public class MoneyBean {
	private double money=0.0;
	/**获取金额
	 * 
	 * @param pps properties对象
	 * @param in 输入流
	 * @return money
	 */
	public double getMoney(String name){
		String filepath="F:\\my project(java)\\BankProject\\"+name+".properties";
		Properties pps = new Properties();
		InputStream in=null;
		try {
			in = new FileInputStream(filepath);
		} catch (FileNotFoundException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		//从输入流中读取属性列表（键和元素对） 
		try {
			pps.load(in);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		Double d=new Double(Double.valueOf(pps.getProperty("money")));
		money=d;
		return money;
	}
	/**设置金额
	 * 
	 * @param name 用户名
	 * @param money 钱
	 */
	public void setMoney(String name,double money){
		String filepath="F:\\my project(java)\\BankProject\\"+name+".properties";
		Properties pps = new Properties();
		InputStream in=null;
		InputStream or=null;
		try {
			in = new FileInputStream(filepath);
			or=new BufferedInputStream(new FileInputStream(filepath));
		} catch (FileNotFoundException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		//从输入流中读取属性列表（键和元素对） 
		try {
			pps.load(in);
			pps.load(or);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		Double d=new Double(money+Double.valueOf(pps.getProperty("money")));
		//调用 Hashtable 的方法 put。使用 getProperty 方法提供并行性。  
		//强制要求为属性的键和值使用字符串。返回值是 Hashtable 调用 put 的结果。
		OutputStream out=null;
		try {
			out = new FileOutputStream(filepath);
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		pps.setProperty("money", d.toString());
		
		//以适合使用 load 方法加载到 Properties 表中的格式，  
		//将此 Properties 表中的属性列表（键和元素对）写入输出流  
		try {
			pps.store(out,name);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
